package tool.analysis;

import tool.data.AbstractClassEntity;
import tool.data.ConcreteClassEntity;
import tool.data.InterfaceEntity;

	/**
	 * @author jwb09119
	 * @date 2013/11/12
	 * 
	 * This interface is implemented by any class that can visit the JavaEntitiy classes within
	 * the ResultStore.
	 * 
	 * This is perhaps overkill, at the initial stages, but will hopefully make adding further
	 * analysers easier - something that is likely to happen in the near future.
	 * 
	 */

public interface IJavaEntityAnalyser {
	
	/**
	 * Visit a JavaEntity
	 * @param javaEntity - the object being visited
	 */
	void visit(InterfaceEntity javaEntity);
	
	void visit(AbstractClassEntity javaEntity);
	
	void visit(ConcreteClassEntity javaEntity);
	
}
